import logging
import os

# 获取脚本目录的路径
HOME_WORK = os.path.abspath(os.path.dirname(__file__))


# 初始化生成文件目录
log_dir = os.path.join(HOME_WORK, "dicom_logs", )
if not os.path.exists(log_dir):
    os.makedirs(log_dir)


class Config(object):
    # creating a logger对象
    logger = logging.getLogger('alter_dicoms_log')  # 创建logging类对象

    # define the default level of the logger
    logger.setLevel(logging.INFO)  # 配置logging对象的默认级别

    # creating a formatter
    formatter = logging.Formatter('%(asctime)s | %(levelname)s -> %(message)s')  # 创建日志输出格式 可读时间、文件名、打印信息

    # creating a handler to log on the filesystem
    file_handler = logging.FileHandler(os.path.join(log_dir, "dicoms.log"))  # 创建一个写入日志的 dicoms.log 文件
    file_handler.setFormatter(formatter)  # handler对象添加日志输出格式
    file_handler.setLevel(logging.INFO)  #

    terminal_handle = logging.StreamHandler()
    # adding handlers to our logger
    logger.addHandler(file_handler)  # 将logger添加handler对象里面
    # logger.addHandler(terminal_handle)

    # logger.info('this is a log message...')

    def get_logger(self):
        return self.logger  # 将配置好的 logging 对象返回


logger = Config().get_logger()  # 定义该类的对象，方便直接引用
